package co.gov.medellin.ssti.sub.paoyer.common.exception;

import java.util.Collection;
import java.util.Vector;

/**
 * <p>
 * Title: UserCollectionException
 * </p>
 * <p>
 * Description: Representa varias excepciones que se generadas exclusivamente
 * por la acci�n de usuario. Muchas veces se necesita validar o verificar un
 * conjunto de valores o elementos, los cuales generan diversas excepciones que
 * se desean mostrar al usuario
 * </p>
 * 
 * @version 0.9.1
 */
public class UserExceptionSet extends Exception {

	/**
	 * 
	 */
	private static final long serialVersionUID = -4164963618890172438L;
	/**
	 * Coleccion de excepciones de usuario.
	 */
	Vector<UserException> exceptionVOSet = new Vector<UserException>();

	/**
	 * Constructor por defecto.
	 */
	public UserExceptionSet() {
		super();
	}

	/**
	 * 
	 * @param moduleVO
	 * @param messageId
	 */
	public void addException(ModuleVO moduleVO, int messageId) {
		this.exceptionVOSet.add(new UserException(moduleVO, messageId));
		// this.exceptionVOSet.add( moduleVO );
	}

	/**
	 * Devuelve informaci�n detallada de una excepci�n, representada en un
	 * objeto ExceptionVO.
	 * 
	 * @return ExceptionVO
	 */
	public Collection<UserException> getExceptionVOSet() {
		return this.exceptionVOSet;
	}

	/**
	 * Verifica si hay excepciones.
	 * 
	 * @return
	 */
	public boolean hasExceptions() {

		if (this.exceptionVOSet.size() > 0) {
			return true;
		}

		return false;
	}

}
